#pragma once

#include "IEventHandler.h"

interface Graphics;	interface IInteraction; struct EventInfo;

interface IEventHandlers : public IEventHandler
{
	DEFINE_IID(IID_EventHandlers)

	struct InteractionInput{
		Graphics* graphics;
		IInteraction* interaction;
	};
	virtual void StartEvents(const InteractionInput& input)  = 0;

	virtual IEventHandler* Push(vclsid clsidEventHandler,EventInfo* info=NULL) = 0;
	virtual uint32 Count() const = 0;
};